Iterators in Java from scratch

Article by: Manish Methani

Last Updated: October 25, 2021 at 8:04am IST
2 mins 51 sec read

Java Iterator is used to iterate through all the elements in the List. An Iterator is used to go through each element of Collections in Java easily. Let's continue with the example we followed in ArrayList tutorial.

The Methods Declared by Iterator

Sr.No. Method & Description
1

boolean hasNext( )

Returns true if there are more elements. Otherwise, returns false.

2

Object next( )

Returns the next element. Throws NoSuchElementException if there is not a next element.

3

void remove( )

Removes the current element. Throws IllegalStateException if an attempt is

made to call remove( ) that is not preceded by a call to next( ).

Example

In this example, we created two Strings array named things & more things. Two Lists named list1 & list2. Task this program will perform is firstly it prints all the list1 elements then it checks list2 whether list2 contains list1 elements and if yes remove them from list1 and print all final list1 using Iterator.

import java.util.*;
public class JavaCollectionDemo {
  
public static void main(String[] args)
{

//String array
String[] things = {"eggs" , "hats" , 
"laser" , "pie"};

// Define an empty ArrayList 
List list1 =  new ArrayList();

// Add array items to list1
    for(String x: things)
    {
    list1.add(x);
    }


// Another String array 
String[] morethings = {"eggs" , "hats"};

// Define a second empty ArrayList 
List list2 =  new ArrayList();

// Add array items to list2
    for(String x: morethings)
    {
     list2.add(x);
    }

Print list1 elements 
     for (int i = 0; i// Call edit List Function to check
 whether list1 contains list2 items and if yes
 remove them from list1.
     editList(list1, list2);
     System.out.println();

// Display Final List1 elements
    for (int i = 0; i// Function to check whether list1 contains 
list2 items and if yes remove them from list1.
public static void editList(Collection l1 , Collection l2)
{
 Iterator iter = l1.iterator(); 
 while(iter.hasNext())
 {
   if(l2.contains(iter.next()))
   {
     iter.remove();
     
   }   
 }
}
}

Output

eggs   hats  laser   pie   
laser   pie

editList method : Firstly we created an iterator object iter. We iterated through list1 one by one and checked whether list2 contains the elements of list1 and if yes remove it.

Explore Tech Guide:

Codzify Logo

Terms and Conditions    Cookie Policy   Refund Policy   Adsense Disclaimer

Contact: teamcodzify@gmail.com